package com.study.app.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.study.common.annotation.ExcelDictFormat;
import lombok.Data;

import java.util.Date;

/**
 * App用户视图对象 app_user
 *
 * @author study
 * @date 2023-04-19
 */
@Data
@ExcelIgnoreUnannotated
public class AppUserVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "用户ID")
    private Long id;

    /**
     * 父级id
     */
    private Long parentId;

    /**
     * 学生登录账号
     */
    private String loginAccount;

    /**
     * 账号角色：'GUARDIAN','STUDENT
     */
    private String userRole;

    /**
     * 用户编码
     */
    private String userCode;


    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户昵称")
    private String userNike;

    /**
     * 用户性别
     */
    @ExcelDictFormat(dictType = "app_user_sex")
    @ExcelProperty(value = "用户性别")
    private Integer userSex;

    /**
     * 用户联系电话（加密）
     */
    @ExcelProperty(value = "用户联系电话")
    @ExcelDictFormat(readConverterExp = "加=密")
    private String userPhone;



    /**
     * 用户账户密码（加密）
     */
    private String userPassword;

    /**
     * 用户邮箱（加密）
     */
    @ExcelProperty(value = "用户邮箱")
    @ExcelDictFormat(readConverterExp = "加=密")
    private String userEmail;

    /**
     * 用户简介
     */
    private String userProfile;

    /**
     * 用户国家
     */
    @ExcelProperty(value = "国家")
    private String userCountry;

    /**
     * 用户年龄
     */
    @ExcelProperty(value = "用户年龄")
    private Integer userAge;

    /**
     * 注册时间
     */
    @ExcelProperty(value = "注册时间")
    private Date createTime;

    /**
     * 用户生日（加密）
     */
    private Date userBirthday;

    /**
     * 账号状态
     */
    @ExcelDictFormat(dictType = "sys_normal_disable")
    @ExcelProperty(value = "账号状态")
    private Integer status;

    /**
     * 用户头像图片地址
     */
    private String imgPath;

    /**
     * 用户登录token
     */
    private String token;

    /**
     * QQ第三方登录关联ID
     */
    private String qqOpenid;

    /**
     * iphone第三方登录关联ID
     */
    private String iphoneId;

    /**
     * 微信第三方登录关联ID
     */
    private String wxOpenid;

    /**
     * 消息推送token
     */
    private String deviceToken;

    /**
     * 用户手机类型： 1 ios系统，2 android系统
     */
    private Integer appType;

    /**
     * 用户邀请码（7位）
     */
//    @ExcelProperty(value = "用户邀请码")
//    @ExcelDictFormat(readConverterExp = "7=位")
    private String invitationCode;

    /**
     * 用户语言国际标识
     */
    private String languageIden;

    /**
     * 用户地图类型 1 百度，谷歌
     */
    private Integer mapType;

    /**
     * 用户里程单位：1公里，2英里
     */
    private Integer mileageUnit;


    /**
     * 用户手机国际区号
     */
    private String areaCode;
}
